Example

#####################################
# Test Macro for UniTerm V2.0c 002  #
# Copyright 1988 Simon Poole        #
#                                   #
#####################################
# turn history recording on
history(1)
call(20)
echo('\007\r\nSample UniTerm macro file')
echo('\r\n-------------------------\007') 
#
# Reset the modem
#
copy(1,'ATZ')
copy(2,'OK')
set(2,5)
call(4)
#
if(@1) echo('\r\nReset\r\n') jump(2)
#
echo('\r\nToo many retries\r\n') exit(-1)
#
# Dial the number and wait for CONNECT
# (in real life you would use the dial() function)
#
:2
# Get number from user
if(!input('Enter number (2512002)')) exit(0)
# if the string is empty use the default
if(compare($T,'')) concat('2512002','')
# Hayes want a ATD 
concat('ATD',$T)
# dial............
copy(1,$T)
copy(2,'CONNECT')
set(2,30)
call(4)
if(!@1) echo('\r\nFailed\r\n')exit(1)
#
# Login
#
# this is for our LocalNet 20 system
:6
send('\r')
if(!get('#',2)) break(100,FALSE) if(!get('#',2)) send('\001\001')
send('echo off\r')
if(!get('#',2)) echo('\r\nSomething is wrong!') hangup() exit(-1)
# call the system
send('call e780\r')
# should have a counter here, but you can always stop with ^C
if(!get('COMPLETED',3)) send('done\r') jump(6)
if(!get('ogin',3)) send('done\r') jump(6)
send('poole\r')
#
# should send my password here
#
# Finished!
exit(0)
#########################################################
#                                                       #
#  Send a string to a Hayes compatible modem            #
#                                                       #
#########################################################
#
# @1 number of retries
# @2 timeout
# $1 string to send (telephone number...)
# $2 string to wait for (CONNECT)
#
:4
set(1,3)
:5
   echo('\r\nTry: ')
   echo("add(4,-@1))
   set(1,add(@1,-1))
   wait(10)
# send attn string
   echo('\r\nSending +++')
   send('+++')
# we might get a OK here...
   get('OK',2)
   echo('\r\nSending ')
   echo($1) 
   send($1)
   send('\r')
if(and(!get($2,@2),@1)) jump(5)
return()
########################################################
#                                                      #
# Home cursor and clear screen                         #
#                                                      #
########################################################
:20
echo('\033[f\033[2J')
return()
########################################################

A very useful aspect of the macro processor, is that you can assign a string like %R('TEMPUS.PRG',' ') to a function key and run your favourite editor just by pressing one key[*].